package net.csdn.business.common.domain.request;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import net.csdn.business.common.domain.validation.groups.System;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * @author wanghang
 * @version 1.0
 * @date 2022/11/7 15:36
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
public class MilepostSaveMigrateDto implements Serializable {

    /**
     * 当前用户ID
     */
    @NotBlank(message = "uid 不合法", groups = {System.class})
    private String crrUserId;

    /**
     * 里程碑ID
     */
    private String goalId;

    /**
     * 里程碑名称
     */
    @NotBlank(message = "里程碑名称不能为空")
    private String goalName;

    /**
     * 里程碑描述
     */
    private String goalDesc;

    /**
     * 所属项目ID（仓库ID）
     */
    @NotNull(message = "项目ID不能为空")
    private Long projectId;
    /**
     * 截止日期
     */
    @NotNull(message = "截止日期不能为空")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date deadline;

    private Date createdDate;

    private Integer goalStatus;

    private UserRegMigrateDto creator;

    private String repoId;
    private String groupPath;
    private String originId;

}
